/*************************************郑州精铖电力设备有限公司*****************************************************
** 通讯实验室-LoRa模块
** 研发部编写，工程专用
** 版权所有，盗版必究
************************************************文件描述***********************************************************
** 文件名：LoRa_Dri.h
** 描  述：LoRa 底层驱动函数头文件
**
************************************************历史版本***********************************************************
** 作者：
** 日期：
** 版本：
**
************************************************使用版本***********************************************************
** 作者李康
** 日期：20191128
** 版本：V1.0
**
**************************************************说明*************************************************************
**
************************************http://www.jingchengdianli.com*************************************************/
#ifndef LORA_DRI_H_
#define LORA_DRI_H_
/*************************************************库头文件*********************************************************/

/***********************************************底层驱动库头文件***************************************************/
#include <LoRa_App.h>
#include <LoRa_Reg.h>
/**************************************************全局变量********************************************************/

/***************************************************************************
* 函 数 名:  LoRa_RW(Txdata)
* 函数功能:  LoRa模块读写封装
* 输    入:  Txdata 发送的数据
*
* 输    出:  无
*
* 返    回:  接收到的数据
*
* 备    注:  无
* 作    者:  李康
* 日	期:  2019-11-28
****************************************************************************/
uint8_t LoRa_RW(uint8_t Txdata);

/***************************************************************************
* 函 数 名:  LoRa_Write
* 函数功能:  LoRa模块写数据
* 输    入:  addr 要读取数据的地址	data 要写入的数据
*
* 输    出:  无
*
* 返    回:  无
*
* 备    注:  无
* 作    者:  李康
* 日	期:  2019-11-28
****************************************************************************/
void SX1276Write(uint8_t addr, uint8_t data);

/***************************************************************************
* 函 数 名:  SX1276Read
* 函数功能:  LoRa模块读取数据
* 输    入:  addr 要读取数据的地址
*
* 输    出:  无
*
* 返    回:  该地址的数据
*
* 备    注:  无
* 作    者:  李康
* 日	期:  2019-11-28
****************************************************************************/
void SX1276Read(uint8_t addr, uint8_t *data );

/***************************************************************************
* 函 数 名:  SX1276WriteBuffer
* 函数功能:  LoRa模块写数组
* 输    入:  addr 发写数据的地址	*buffer数组所在的位置	size 数据长度
*
* 输    出:  无
*
* 返    回:  无
*
* 备    注:  无
* 作    者:  李康
* 日	期:  2019-11-28
****************************************************************************/
void SX1276WriteBuffer(uint8_t addr, uint8_t *buffer, uint8_t size);

/***************************************************************************
* 函 数 名:  SX1276ReadBuffer
* 函数功能:  LoRa模块读取数组
* 输    入:  addr 要读取数据的地址	*buffer数组所在的位置	size 数据长度
*
* 输    出:  无
*
* 返    回:  无
*
* 备    注:  无
* 作    者:  李康
* 日	期:  2019-11-28
****************************************************************************/
void SX1276ReadBuffer(uint8_t addr,uint8_t *buffer,uint8_t size);

/***************************************************************************
* 函 数 名:  SX1276WriteFifo
* 函数功能:  LoRa模块写FIFO
* 输    入: *buffer 数据的存放地址	size数据长度
*
* 输    出:  无
*
* 返    回:  无
*
* 备    注:  无
* 作    者:  李康
* 日	期:  2019-11-28
****************************************************************************/
void SX1276WriteFifo(uint8_t *buffer, uint8_t size);

/***************************************************************************
* 函 数 名:  SX1276ReadFifo
* 函数功能:  LoRa模块读FIFO
* 输    入:  *buffer 读取数据的存放地址	size数据长度
*
* 输    出:  无
*
* 返    回:  无
*
* 备    注:  无
* 作    者:  李康
* 日	期:  2019-11-28
****************************************************************************/
void SX1276ReadFifo(uint8_t *buffer, uint8_t size);



#endif /* LORA_DRI_H_ */
